package xin.fsqr520.project.domain.po;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 校园卡消费记录表实体类
 *
 * @TableName 注解指定对应数据库表名
 */
@Data
@TableName("card_consume_record")
public class CardConsumeRecord {

    /**
     * 消费记录主键ID
     * @TableId 注解指定为主键，type = IdType.AUTO 表示主键自增（与数据库表中 AUTO_INCREMENT 对应）
     */
    @TableId(value = "id", type = com.baomidou.mybatisplus.annotation.IdType.AUTO)
    private Long id;

    /**
     * 关联校园卡表的id（对应card表的id）
     */
    @TableField("card_id")
    private Long cardId;

    /**
     * 消费时间
     * 注意：数据库中是 DATETIME 类型，这里用 LocalDateTime 接收，MyBatis-Plus 可自动处理类型转换
     */
    @TableField("consume_time")
    private LocalDateTime consumeTime;

    /**
     * 消费商家名称（如：吉阿婆麻辣烫）
     */
    @TableField("merchant_name")
    private String merchantName;

    /**
     * 消费金额，精确到分
     */
    @TableField("consume_amount")
    private BigDecimal consumeAmount;

    /**
     * 记录创建时间
     * 注意：数据库中是 TIMESTAMP 类型，这里用 LocalDateTime 接收，MyBatis-Plus 可自动处理类型转换
     */
    @TableField("create_time")
    private LocalDateTime createTime;

    /**
     * 记录更新时间
     * 注意：数据库中是 TIMESTAMP 类型，这里用 LocalDateTime 接收，MyBatis-Plus 可自动处理类型转换
     */
    @TableField("update_time")
    private LocalDateTime updateTime;
}